Circular List
In circular List the insertion is possible even the end of the list is reached and empty positions are left in the beginning of the list.
class cq{ int rear; int counter; int front; String[] data; public cq(){ counter = 0; front = 0; rear = -1; data = new String[5]; } public void insert(String o){ if(rear < counter){ rear = (rear+1)%5; data[rear] = o; ++counter; } } public void remove(){ if(counter !=0){ System.out.println("Removed Item: "+data[front]); front = (front+1)%5; --counter; } } public void show(){ int i=front; do{ System.out.println("Data at "+i +" is: "+data[i]); i=(i+1)%5; }while(i!=rear); } public static void main(String[] aargs){ cq c = new cq(); c.insert("chair"); c.insert("bench"); c.insert("desk"); c.show(); c.insert("sofa"); c.insert("Dinosaur"); c.insert("tea table"); c.show(); } } Output: Data at 0 is: chair Data at 1 is: bench Data at 0 is: tea table Data at 1 is: bench Data at 2 is: desk Data at 3 is: sofa Data at 4 is: Dinosaur